package com.songlanyun.modules.signin.service;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.songlanyun.common.utils.PageUtils;
import com.songlanyun.modules.signin.entity.SignInRecordEntity;
import com.songlanyun.modules.signin.model.vo.SignInDataStatisticsVo;

/**
 * 签到管理-签到记录
 *
 * @author lijiahe
 * @date 2022-08-03
 */
public interface SignInRecordService extends IService<SignInRecordEntity> {

    /**
     * PC-签到记录
     *
     * @param params
     * @return
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 立即签到
     *
     * @param userId
     *            用户id
     * @param day
     *            天 yyyy-MM-dd HH:mm:ss
     */
    String signInNow(Long userId, LocalDateTime day);

    /**
     * app-月度签到数据统计
     *
     * @param userId
     * @param month
     * @return
     */
    SignInDataStatisticsVo dataStatistics(Long userId, String month);

    /**
     * app-月度签到明细列表
     *
     * @param userId
     * @param month
     * @return
     */
    List<String> listSignInRecord(Long userId, String month);

}
